<?php

namespace Modules\BlogAdmin\Models;
use Modules\Admin\Models\BaseModel;
use Illuminate\Support\Facades\DB;
class BlogColumn extends BaseModel
{
	/** 
	 * @name  递归排序
	 * @return 返回权限数据
	 */
	public function lefts(){
		$cate = DB::table('blog_columns')->orderBy('sort','asc')->get();
		return $this->menu($cate);
	}
	/**
	 * @name  使用递归方法
	 * @param data 数据
	 * @param lefthtml 上下级分割标识
	 * @param pid pid默认值
	 * @param leftpin 默认级别0
	 * @return 返回权限数据
	 */
	private function menu($cate , $lefthtml = '|— ' , $pid=0 , $lvl=0, $leftpin=0 ){
		static $arr=array();
		foreach ($cate as $v){  
			if($v->pid == $pid){
				$v->lvl = $lvl + 1;
				$v->leftpin = $leftpin + 0;
				$v->lefthtml = str_repeat($lefthtml,$lvl);
				$v->ltitle = $v->lefthtml.$v->title;
				$arr[]=$v;
				$this->menu($cate,$lefthtml,$v->id, $lvl+1 ,$leftpin+20);
			}
		}
		return $arr;
	}
	/**
	 * @name  删除
	 * @param id 当前删除数据id
	 * @return 返回删除结果
	 */
	public function column_delete($id,$url){
		$arr = $this->dels($id);
		$arr[] = (int)$id;
		return $this->common_destroy($arr,$url);
		 
	}
	/**
	 * @name  获取id
	 * @param id 当前删除数据id
	 * @return 返回获取当前的删除id的其他子id
	 */
	//
	private function dels($id){
		$cate = DB::table('blog_columns')->get();
		return $this->delsort($cate,$id);
	}
	/**
	 * @name  递归遍历数据
	 * @param cate 全部数据
	 * @param id 当前删除数据id
	 * @return 返回获取当前的删除id的其他子id
	 */
	private function delsort($cate,$id){
		//创建新数组
		static $arr=array();
		foreach($cate as $v){
			if($v->pid == $id){
				$arr[] = $v->id;
				$this->delsort($cate,$v->id);
			}
		}
		return $arr;
	}
	
	
	
	
	
	
	
	
	
	
}
